package cn.marinda.resturants.service;

import cn.marinda.resturants.entity.Bill;
import cn.marinda.resturants.global.Pages;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.math.BigDecimal;
import java.util.List;

/** BillService 账单服务层
 * @date 2021/12/1
 * @author Marinda
 * @version 1.0
 *
 */
public interface BillService extends IService<Bill> {

    /**
     * 选择由uid
     *
     * @param uid uid
     * @return {@link Bill}
     */
    Bill selectByUid(String uid);
    /** 添加一个账单
     * @date 2021/12/1
     * @param bill 账单
     */
    boolean addBill(Bill bill);

    /** 删除账单
     *
     * @param uid uid
     * @date 2021/12/1
     * @version 1.0
     */

    boolean deleteBill(String uid);

    /** 查询一个admin_Uid的账单
     *
     * @param admin_uid uid
     * @return
     */
    List<Bill> selectByAdminUid(String admin_uid);

    /** 查询所有type属性下的账单
     *
     * @param type 属性类型
     * @return 集合类型
     */
    List<Bill> selectTypeList(String type);

    /** number数
     *
     * @param adminUid
     * @return
     */
    BigDecimal selectBillNumber(String adminUid);

    /** 乐观锁修改账单
     *
     * @param bill 账单
     * @return 结果
     */
    boolean updateBill(Bill bill);

    /** 返回Bill列表
     *
     * @return 账单列表
     */
    List<Bill> queryList();

    /** 返回Bill列表
     *
     * @return 账单列表
     */
    IPage<Bill> selectBillPage(Pages<?> pages);
}

